<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>数组解构</title>
</head>

<body>
  <script type="text/javascript">
    // -----------------情况1，变量和值一一对应---------------
    // let arr = [5, 9, 10];
    // let [a, b, c] = arr;
    // console.log(a, b, c); // 输出 5 9 10

    // -----------------情况2，变量多，值少-----------------
    // let arr = [5, 9, 10];
    // let [a, b, c, d] = arr;
    // console.log(a, b, c, d); // 输出 5 9 10 undefined

    // -----------------情况3，变量少，值多-----------------
    // let arr = [5, 9, 10, 8, 3, 2];
    // let [a, b] = arr;
    // console.log(a, b); // 5, 9

    // -----------------情况4，按需取值-----------------
    // let arr = [5, 9, 10, 8, 3, 2];
    // let [, , a, , b] = arr; // 不需要用变量接收的值，用空位占位
    // console.log(a, b); // 10, 3 

    // -----------------情况5，剩余值-----------------
    // let arr = [5, 9, 10, 8, 3, 2];
    // let [a, b, ...c] = arr; // ...c 接收剩余的其他值，得到的c是一个数组
    // console.log(a, b, c);
    // 结果：
    // a = 5, 
    // b = 9, 
    // c = [10, 8, 3, 2]

    // -----------------情况6，复杂的情况，只要符合模式，即可解构-------------
    let arr = ['zhangsan', 18, ['175cm', '65kg']];
    let [, , [a, b]] = arr;
    console.log(a, b); // 175cm 65kg
  </script>
</body>

</html>